//package com.mt.vsphere.business.vshpereApi;
//
//import com.vmware.vim25.*;
//
//import javax.xml.ws.soap.SOAPFaultException;
//
//import java.util.ArrayList;
//import java.util.List;
//
//public class Main1 {
//
//
//    private static TraversalSpec getVmTraversalSpec()
//    {
////        TraversalSpec vAppToVM = new TraversalSpec();
////        vAppToVM.setName("vAppToVM");
////        vAppToVM.setType("VirtualApp");
////        vAppToVM.setPath("vm");
////
////        TraversalSpec vAppToVApp = new TraversalSpec();
////        vAppToVApp.setName("vAppToVApp");
////        vAppToVApp.setType("VirtualApp");
////        vAppToVApp.setPath("resourcePool");
//
////        SelectionSpec vAppRecursion = new SelectionSpec();
////        vAppRecursion.setName("vAppToVApp");
////        SelectionSpec vmInVApp = new SelectionSpec();
////        vmInVApp.setName("vAppToVM");
////        List<SelectionSpec> vAppToVMSS = new ArrayList<SelectionSpec>();
////        vAppToVMSS.add(vAppRecursion);
////        vAppToVMSS.add(vmInVApp);
////        vAppToVApp.getSelectSet().addAll(vAppToVMSS);
//
//        SelectionSpec sSpec = new SelectionSpec();
//        sSpec.setName("VisitFolders");
//
//        TraversalSpec dataCenterToVMFolder = new TraversalSpec();
//        dataCenterToVMFolder.setName("DataCenterToVMFolder");
//        dataCenterToVMFolder.setType("Datacenter");
//        dataCenterToVMFolder.setPath("vmFolder");
//        dataCenterToVMFolder.setSkip(false);
//        dataCenterToVMFolder.getSelectSet().add(sSpec);
//
//        TraversalSpec traversalSpec = new TraversalSpec();
//        traversalSpec.setName("VisitFolders");
//        traversalSpec.setType("Folder");
//        traversalSpec.setPath("childEntity");
//        traversalSpec.setSkip(false);
//        List<SelectionSpec> sSpecArr = new ArrayList<SelectionSpec>();
//        sSpecArr.add(sSpec);
//        sSpecArr.add(dataCenterToVMFolder);
////        sSpecArr.add(vAppToVM);
////        sSpecArr.add(vAppToVApp);
//        traversalSpec.getSelectSet().addAll(sSpecArr);
//        return traversalSpec;
//    }
//
//    private static ManagedObjectReference getAllVm() {
//        ManagedObjectReference retVal = null;
//        ManagedObjectReference rootFolder = MoniterWsInterface.serviceContent.getRootFolder();
//        try {
//            TraversalSpec tSpec = getVmTraversalSpec();
//
//            PropertySpec propertySpec = new PropertySpec();
//            propertySpec.setAll(Boolean.TRUE);
//            propertySpec.getPathSet().add("name");
//            propertySpec.setType("VirtualMachine");
//
//            ObjectSpec objectSpec = new ObjectSpec();
//            objectSpec.setObj(rootFolder);
//            objectSpec.setSkip(Boolean.TRUE);
//            objectSpec.getSelectSet().add(tSpec);
//
//            PropertyFilterSpec propertyFilterSpec = new PropertyFilterSpec();
//            propertyFilterSpec.getPropSet().add(propertySpec);
//            propertyFilterSpec.getObjectSet().add(objectSpec);
//
//            List<PropertyFilterSpec> listpfs = new ArrayList<PropertyFilterSpec>(1);
//            listpfs.add(propertyFilterSpec);
//            List<ObjectContent> listobjcont = MoniterWsInterface.retrievePropertiesAllObjects(listpfs);
//
//            if (listobjcont != null) {
//                for (ObjectContent oc : listobjcont) {
//                    ManagedObjectReference mr = oc.getObj();
//                    String vmnm = null;
//                    List<DynamicProperty> dps = oc.getPropSet();
//                    if (dps != null) {
//                        for (DynamicProperty dp : dps) {
//                            vmnm = (String) dp.getVal();
//                        }
//                    }
//                    System.out.println(vmnm);
//                }
//            }
//        } catch (SOAPFaultException sfe) {
//            MoniterWsInterface.printSoapFaultException(sfe);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return retVal;
//    }
//    public static void main(String[] args) throws Exception {
//        MoniterWsInterface.connect();
//
//
////        getfsf();
//        getAllVm();
//        //我要获取所有资源的路径 包括数据中心 虚拟机 资源池
//        MoniterWsInterface.disconnect();
//    }
//}
